package com.wyzz.hr.pojo.base;

import java.io.Serializable;

import com.wyzz.hr.pojo.Inmatch;
import com.wyzz.hr.pojo.InmatchBasic;
import com.wyzz.hr.pojo.InmatchModel;

public abstract class BaseInmatch implements Serializable {

	public BaseInmatch() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseInmatch(String imId) {
		hashCode = 0x80000000;
		setImId(imId);
		initialize();
	}

	public BaseInmatch(String imId, InmatchModel imImm, InmatchBasic imImb,
			String imFieldDesc, Integer imDetectError, Integer imRequired,
			Integer imIsInput, Integer imSortId, String imSample) {
		hashCode = 0x80000000;
		setImId(imId);
		setImImm(imImm);
		setImImb(imImb);
		setImFieldDesc(imFieldDesc);
		setImDetectError(imDetectError);
		setImRequired(imRequired);
		setImIsInput(imIsInput);
		setImSortId(imSortId);
		setImSample(imSample);
		initialize();
	}

	protected void initialize() {
	}

	public String getImId() {
		return imId;
	}

	public void setImId(String imId) {
		this.imId = imId;
		hashCode = 0x80000000;
	}

	public String getImFieldDesc() {
		return imFieldDesc;
	}

	public void setImFieldDesc(String imFieldDesc) {
		this.imFieldDesc = imFieldDesc;
	}

	public String getImFormat() {
		return imFormat;
	}

	public void setImFormat(String imFormat) {
		this.imFormat = imFormat;
	}

	public Integer getImDetectError() {
		return imDetectError;
	}

	public void setImDetectError(Integer imDetectError) {
		this.imDetectError = imDetectError;
	}

	public Integer getImRequired() {
		return imRequired;
	}

	public void setImRequired(Integer imRequired) {
		this.imRequired = imRequired;
	}

	public Integer getImIsInput() {
		return imIsInput;
	}

	public void setImIsInput(Integer imIsInput) {
		this.imIsInput = imIsInput;
	}

	public Integer getImSortId() {
		return imSortId;
	}

	public void setImSortId(Integer imSortId) {
		this.imSortId = imSortId;
	}

	public String getImSample() {
		return imSample;
	}

	public void setImSample(String imSample) {
		this.imSample = imSample;
	}

	public Integer getImSampleWidth() {
		return imSampleWidth;
	}

	public void setImSampleWidth(Integer imSampleWidth) {
		this.imSampleWidth = imSampleWidth;
	}

	public InmatchModel getImImm() {
		return imImm;
	}

	public void setImImm(InmatchModel imImm) {
		this.imImm = imImm;
	}

	public InmatchBasic getImImb() {
		return imImb;
	}

	public void setImImb(InmatchBasic imImb) {
		this.imImb = imImb;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof Inmatch))
			return false;
		Inmatch inmatch = (Inmatch) obj;
		if (null == getImId() || null == inmatch.getImId())
			return false;
		else
			return getImId().equals(inmatch.getImId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getImId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getImId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public static String REF = "Inmatch";
	public static String PROP_IM_FIELD_DESC = "imFieldDesc";
	public static String PROP_IM_IS_INPUT = "imIsInput";
	public static String PROP_IM_FORMAT = "imFormat";
	public static String PROP_IM_IMM = "imImm";
	public static String PROP_IM_DETECT_ERROR = "imDetectError";
	public static String PROP_IM_ID = "imId";
	public static String PROP_IM_SAMPLE_WIDTH = "imSampleWidth";
	public static String PROP_IM_SAMPLE = "imSample";
	public static String PROP_IM_SORT_ID = "imSortId";
	public static String PROP_IM_REQUIRED = "imRequired";
	public static String PROP_IM_IMB = "imImb";
	private int hashCode;
	private String imId;
	private String imFieldDesc;
	private String imFormat;
	private Integer imDetectError;
	private Integer imRequired;
	private Integer imIsInput;
	private Integer imSortId;
	private String imSample;
	private Integer imSampleWidth;
	private InmatchModel imImm;
	private InmatchBasic imImb;

}
